﻿package com.mui.containers
{
    import flash.utils.*;

    public class UIComTrackUtil extends Object
    {
        private static var _open:Boolean = true;
        private static var _parentObj:Object = {};
        public static var instanceObj:Dictionary = new Dictionary();

        public function UIComTrackUtil()
        {
            return;
        }// end function

        public static function setParent(param1) : void
        {
            if (isOpen == false)
            {
                return;
            }
            instanceObj[param1] = true;
            if (param1.parent == null)
            {
                return;
            }
            var _loc_2:* = param1.parent;
            var _loc_3:* = getClassName(param1);
            var _loc_4:* = getClassName(_loc_2);
            var _loc_5:* = _loc_4;
            while (_loc_4 == "GSprite" || _loc_4 == "Sprite" || _loc_4 == "TextBox")
            {
                
                _loc_2 = _loc_2.parent;
                if (_loc_2 == null)
                {
                    _loc_4 = null;
                    return;
                }
                _loc_4 = getClassName(_loc_2);
                _loc_5 = _loc_5 + ("-" + _loc_4);
            }
            var _loc_6:* = _parentObj[_loc_3];
            if (_loc_6 == null)
            {
                var _loc_8:* = [];
                _parentObj[_loc_3] = [];
                _loc_6 = _loc_8;
            }
            var _loc_7:* = _loc_6.indexOf(_loc_5);
            if (_loc_7 != -1)
            {
                _loc_6.splice(_loc_7, 1);
            }
            _loc_6.unshift(_loc_5);
            return;
        }// end function

        public static function putParentStr(param1:Array, param2) : void
        {
            if (isOpen == false)
            {
                return;
            }
            var _loc_3:* = getParentStr(param2);
            if (param1 == null || _loc_3 == null)
            {
                return;
            }
            var _loc_4:* = param1.indexOf(_loc_3);
            if (_loc_4 != -1)
            {
                param1.splice(_loc_4, 1);
            }
            param1.unshift(_loc_3);
            return;
        }// end function

        public static function getParentStr(param1) : String
        {
            instanceObj[param1] = true;
            if (param1.parent == null)
            {
                return null;
            }
            var _loc_2:* = param1.parent;
            var _loc_3:* = getClassName(param1);
            var _loc_4:* = getClassName(_loc_2);
            var _loc_5:* = _loc_4;
            while (_loc_4 == "GSprite" || _loc_4 == "Sprite" || _loc_4 == "TextBox")
            {
                
                _loc_2 = _loc_2.parent;
                if (_loc_2 == null)
                {
                    _loc_4 = null;
                    return null;
                }
                _loc_4 = getClassName(_loc_2);
                _loc_5 = _loc_5 + ("-" + _loc_4);
            }
            return _loc_5;
        }// end function

        public static function getClassName(param1) : String
        {
            var _loc_2:* = getQualifiedClassName(param1);
            return _loc_2.split("::")[1];
        }// end function

        public static function toStr(param1:String) : String
        {
            var _loc_2:* = _parentObj[param1];
            if (_loc_2)
            {
                return _loc_2.join(",");
            }
            return "null";
        }// end function

        public static function get isOpen() : Boolean
        {
            if (_open == false)
            {
                return false;
            }
            if (false == false)
            {
                return false;
            }
            return true;
        }// end function

    }
}
